Imports System.Data.OracleClient Imports System.IO bottone Dim conn As New OracleConnection("server=Oracle;Uid=uid;pwd=pwd") Dim filePath As String Dim bigData As Byte() Dim t As Date t = Now filePath = "C:\mytest.bmp" 'Add the path to the file you want to insert If Not File.Exists(filePath) Then ' handle error End If Dim fs As Stream = _ File.OpenRead(filePath) Dim tempBuff(fs.Length) As Byte fs.Read(tempBuff, 0, fs.Length) fs.Close() conn.Open() Dim tx As OracleTransaction tx = conn.BeginTransaction() Dim cmd As New OracleCommand() cmd = conn.CreateCommand() cmd.Transaction = tx cmd.CommandText = "declare xx blob; begin dbms_lob.createtemporary(xx, false, 0); :tempblob := xx; end;" cmd.Parameters.Add(New OracleParameter("tempblob", OracleType.Blob)).Direction = ParameterDirection.Output cmd.ExecuteNonQuery() Dim tempLob As OracleLob tempLob = cmd.Parameters(0).Value tempLob.BeginBatch(OracleLobOpenMode.ReadWrite) tempLob.Write(tempBuff, 0, tempBuff.Length) tempLob.EndBatch() cmd.Parameters.Clear() cmd.CommandText = "InsertBlob.TestBlobInsert" cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add(New OracleParameter("BlobParam", OracleType.Blob)).Value = tempLob Try cmd.ExecuteNonQuery() Catch myex As Exception MsgBox(myex.Message) End Try tx.Commit()